<template>
    <div class="home-recommond">
      <h3>达人歌单</h3>
      <div class="wrapper" ref="wrapper">
        <ul class="content" ref="content">
          <li v-for="(item, index) in listData" :key="index" @click="selectItem(item)">
            <div class="cover">
              <van-image :src="item.picUrl" style="width:150px;height:122px" radius="1rem" />
              <span>{{item.playCount}}</span>
            </div>
            <span>{{ item.name }}</span>
          </li>
        </ul>
      </div>
    </div>
  </template>
  
  <script>
  import { betterScrollHorizontal } from "../../common/betterScroll.js";
  export default {
    data() {
      return {
        listData: [],
      };
    },
    /**
     * 一个vue实例被生成后会调用created函数
     * 一般可以在此函数中调用ajax获取页面初始化所需的数据
     */
    created() {
      this.getSongListData();
    },
  
    methods: {
      //获取达人歌单数据
      getSongListData() {
        this.$request("get", "/personalized?limit=30").then(code => {
          console.log(code);
          this.listData = code.result
          console.log(this,this.listData)

          console.log(this,this.listData)
          betterScrollHorizontal(
            this,
            this.$refs.wrapper,
            this.$refs.content,
            this.listData.length,
            10
          );
        });
      },
      //列表项的点击事件
      selectItem(item) {
        const id = item.content_id;//获取到歌单的id
        //console.log(id);
        //1.命名的路由name，并加上参数，让路由建立url
        // this.$router.push({
        //   name: "singlist",
        //   params: {
        //     id: id,// 等同于id
        //   }
        // });
        //2.通过path手动建立url
        // this.$router.push(`/singlist/$(id)`)
        this.$router.push({path:`/songlist/${id}`});
      },
    },
  };
  </script>
  
  <style scoped>
  /* .home-recommond > ul {
    display: flex;
    flex-wrap: wrap;
  }
  .home-recommond > ul > li {
    width: calc((100% - 1rem) / 3 * 1);
  }
  .home-recommond > ul > li:nth-of-type(3n + 2) {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  } */
  .cover {
    position: relative;
  }
  
  .cover>span {
    position: absolute;
    right: 0.2rem;
    bottom: 0.4rem;
    background-color: #a6a0a0;
    color: white;
    font-size: 14px;
    border-radius: 1rem;
    width: 5rem;
    display: inline-block;
  }
  
  .wrapper {
    width: 100%;
    /* 容器的宽度就是屏幕的宽度 */
    overflow: hidden;
  }
  
  /* content内容区的宽度要大于wrapper容器的宽度，12个列表项 */
  /* ul.content {
    width: calc(12 * 10rem);
  } */
  
  ul.content li {
    /**li默认是块级元素，修改为行内元素，但是要具备块级元素的特性*/
    display: inline-block;
    width: 10rem;
    vertical-align: top;
  }
  
  /* li里面有两个元素，div和span，所以使用通配符*     */
  ul.content li * {
    margin: 0 0.1rem;
    /*里面的元素与li的边缘有个间距*/
  }
  
  ul.content>li>span {
    font-size: 0.8rem;
    color: #625858;
  }
  </style>>